# 数据分析题目解答(建议先赞后看，养成习惯 如果不赞，先拉出去枪毙两分钟 作者：小匠IT)
import pandas as pd
from datetime import datetime, timedelta

# 加载数据（请替换为实际文件路径）
file_path = r'data/18/客户忠诚度分析-原始数据(2).xlsx'

# 读取订单信息表，仅读取相关列
df_orders = pd.read_excel(file_path, usecols="A:B", header=0)
df_orders.columns = ['买家会员名', '订单创建时间']

# 确保日期列是datetime类型
df_orders['订单创建时间'] = pd.to_datetime(df_orders['订单创建时间'])

# 定义分析的时间范围
start_date = datetime(2021, 10, 1)
end_date = datetime(2022, 3, 31)

# 筛选出指定时间段内的交易记录
df_filtered = df_orders[(df_orders['订单创建时间'] >= start_date) & (df_orders['订单创建时间'] <= end_date)]

# 计算每个客户的购买频率
purchase_counts = df_filtered.groupby('买家会员名')['订单创建时间'].count().reset_index()
purchase_counts.columns = ['买家会员名', '购买次数']

# 1. 满足该网店活动条件的客户共有多少人（假设活动条件为至少一次购买）
activity_customers_count = purchase_counts.shape[0]
print(f"1. 满足该网店活动条件的客户共有 {activity_customers_count} 人。")

# 2. 购买次数最多的客户及其购买次数
top_customer = purchase_counts.loc[purchase_counts['购买次数'].idxmax()]
print(f"2. 2021年10月1日到2022年3月31日，“原牧纯品旗舰店”购买次数最多的客户是 {top_customer['买家会员名']}，其购买次数是 {top_customer['购买次数']} 次。")

# 3. 近6个月购买频数大于等于7的客户人数
loyal_customers_count = purchase_counts[purchase_counts['购买次数'] >= 7].shape[0]
print(f"3. “原牧纯品旗舰店”近6个月购买频数大于等于7的客户有 {loyal_customers_count} 人。")

# 4. 网店回馈忠诚客户的形式有哪些，请列举3个。
print("4. 网店回馈忠诚客户的形式有：")
print("   a. 提供专属折扣或优惠券")
print("   b. 提供免费赠品或升级服务")
print("   c. 举办会员专属活动或优先购买权")